{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Time Series Forecasting With Prophet: Creating Input for an Optimization Model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Introduction\n",
    "\n",
    "The need to transition from traditional fossil fuel-based energy resources to renewable ones has intensified the adoption of solar and wind energy production. Yet, the sun is not always shining and the wind is not always blowing. When customers need energy might not coincide with those of high wind and solar potential which is a key chalenge associated with renewables energy sources. Batteries can be a solution to this problem making it possible to use energy that has been stored can be used at any time during the day by discharging the energy stored in the battery.\n",
    "\n",
    "In this example, we will utilize solar energy with batteries to satisfy the energy demands of operating a university building and the associated courses that are taking place. In the next sections, we will describe the problem statement, and demonstrate how data science and mathematical optimization can be used to optimally solve the given problem.\n",
    "\n",
    "The information used for this example have been adopted from [IEEE's Predict+Optimize Technical Challenge](https://ieee-dataport.org/competitions/ieee-cis-technical-challenge-predictoptimize-renewable-energy-scheduling)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Objective and Prerequisites\n",
    "\n",
    "In this example, we consider a single university building on campus in Melbourne, Australia that has a set of courses scheduled over the course six days (Monday - Saturday). \n",
    "\n",
    "The building and each courses have a certain energy demand that needs to be satisfied. The buidling's energy demand is assumed to known and each of the courses has a different demand based on the resources required (e.g. class size or a lab). The building has two solar panels installed which are capable of providing energy and there is also the capability of purchasing power directly from the electricity grid to satisfy the demand. Additionally, the building is equipped with two batteries which can store the energy provided from the solar panels, and can provide this energy when needeed. \n",
    "\n",
    "The key learning component of this project is to integrate time series data forecasting with mathematical optimization. In contrast to the other examples in this library, here we incorporate a prediction horizon for the solar forecast which will be the major input for the optimization problem. \n",
    "\n",
    "This example is for beginners in mathematical optimization. It assumes that you have some knowledge of data handling and data-driven modeling, as well as a basic understanding of Python and using the Gurobi Python API.\n",
    "\n",
    "The presented problem requires the installation of the following Python packages:\n",
    "\n",
    "- **pandas**: for data analysis and manipulation \n",
    "- **numpy**: for mathematical calculations\n",
    "- **matplotlib**: for plotting and visualizing information\n",
    "- **prophet**: for predicting the future solar output"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "tags": []
   },
   "source": [
    "## Problem Statement\n",
    "\n",
    "Given a course schedule for the upcoming week and historical data about the solar potential, the objective is to determine the optimal battery charging and discharging schedule are in order to satisfy the energy demand for a building where the courses are held. The total energy demand is composed of the demand from the building itself plus the amount needed for each course. The example will look at two objectives:\n",
    "- Minimize the total electricity purchased from the grid during the upcoming week\n",
    "- Since elctricity prices fluctuate, minimize the total cost of electricy purchaced from the grid\n",
    "\n",
    "At the same time, batteries have a finite capacity as well a limits on how much it can charge or discharge over a period of time. These impose constraints on the problem and make it difficult to solve. Additionally, while the solar panels can both provide electricty to meet demand directly, *each panel can charge only one battery*.\n",
    "\n",
    "For simplicity, the time considered for each day will be limited to between 5am and 8pm. If you have access to a full Gurobi license (e.g. through our [Academic Program](https://www.gurobi.com/academia/academic-program-and-licenses/)) feel free to expand this to solve a much larger version of the problem. \n",
    "\n",
    "Here is a view of what the week's schedule will look like:\n",
    "\n",
    "<img src=\"ClassSchedule.png\" width=\"800\" align=\"left\"/>\n",
    "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>\n",
    "\n",
    "<h2> Solution Approach </h2>\n",
    "\n",
    "The solution approach of the problem consists of two components: 1) **a forecasting component** for the solar availability and 2) **an optimization component** to determine what is the battery schedule as well as the amount of elecetricity purhcased from the grid.\n",
    "\n",
    "Initially, we will utilize the historical information about the solar potential of the area close to the university campus to forecast the solar output for the next week at a 15 minute interval. Given this information, as well as the demand of the university building and the energy demand of each of the courses in the building, we will formulate and solve a mixted-integer programming (MIP) problem to find the optimal solution to the problem for each of the above objectives using gurobipy."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Solar Power Forecasting"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We begin our solution approach by installing and loading the necessary packages which will be needed:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "%pip install Prophet\n",
    "%pip install gurobipy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import logging\n",
    "logger = logging.getLogger()\n",
    "logger.setLevel(logging.CRITICAL)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.dates as mdates\n",
    "from matplotlib.dates import date2num\n",
    "from prophet import Prophet\n",
    "from prophet.diagnostics import cross_validation\n",
    "from datetime import datetime\n",
    "from gurobipy import Model, GRB, quicksum"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The building where the classes are planned to happen has two solar panels installed on it, whose generation is loaded in the two dataframes:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "solarData = pd.read_csv(r'SolarPanel.csv')\n",
    "solarData.start_timestamp = pd.to_datetime(solarData.start_timestamp)\n",
    "# make the time local to Melbourne\n",
    "solarData['start_timestamp'] += pd.to_timedelta(10, unit='h')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that the solar power generation data are repoted in 15 minute intervals. Additionally the final date that we have data is September 30th. A visualization of the datasets is presented in the following figures:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,5))\n",
    "plt.scatter(solarData.start_timestamp, solarData.series_values, c='blue')\n",
    "plt.gcf().autofmt_xdate()\n",
    "plt.ylabel('Solar Power Generation (kW)');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The above visuals give a sense of the solar generation range and overall trend for each panel, but it is difficult to see what is happening at the 15-minute level we will build our forecasting and optimization solution around. The plot below shows solar genration for each 15-minute interval for two consecutive days. Change the date and time below to see how the solar output changes. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "start_date = '2020-07-15 05:00:00'\n",
    "end_date = '2020-07-16 19:45:00'\n",
    "plt.figure(figsize=(12,5))\n",
    "plt.plot(solarData.start_timestamp[(solarData.start_timestamp >= start_date) & (solarData.start_timestamp < end_date)], \n",
    "           solarData.series_values[(solarData.start_timestamp >= start_date) & (solarData.start_timestamp < end_date)], '-o', c='blue')\n",
    "plt.ylabel('Solar Power Generation (kW)');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Going back to the first figures, you may have noticed data for each solar panel that seems incorrect. In the first panel generation over an approximate one month period is a diagonal line and for the second panel the gernation is constant at zero. The following figures show this pattern and the dates/times in which is occurs. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "s0 = solarData[(solarData.start_timestamp >= '2020-04-03 15:30:00') & (solarData.start_timestamp < '2020-05-15 07:00:00')]\n",
    "plt.figure(figsize=(12,5))\n",
    "plt.scatter(s0.start_timestamp, s0.series_values, c='blue')\n",
    "plt.gcf().autofmt_xdate()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will remove these points later on in the example as they do no fit with the general daily pattern we saw earlier. \n",
    "\n",
    "In this example, we will utilize Facebook's Prophet time series forecasting to forecast the upcoming solar generation. Prophet is convenient to use and also it has been shown to be perform satisfactorily in multiple instances for these types of problems.\n",
    "\n",
    "The training data are set to comply with Prophet's format and then we will use the derived model to derive a forecast of solar output for the next week. Finally, we crop the forecasts for our desired time of Monday, October 5th through Saturday, October 10th in 2020."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:prophet:Disabling yearly seasonality. Run prophet with yearly_seasonality=True to override this.\n",
      "INFO:prophet:Found custom seasonality named 'daily', disabling built-in 'daily' seasonality.\n"
     ]
    }
   ],
   "source": [
    "solarB = pd.DataFrame()\n",
    "solarB['ds'] = solarData.start_timestamp\n",
    "solarB['y'] = solarData.series_values\n",
    "solarB = solarB.loc[~solarB.index.isin(s0.index)]\n",
    "modelB = Prophet(changepoints=['2019-11-01','2019-12-01','2020-01-01','2020-02-01','2020-03-01','2020-06-01','2020-07-01','2020-08-01','2020-09-01'])\n",
    "modelB.add_seasonality(name='daily', period=1, fourier_order=5, prior_scale=10, mode = 'multiplicative')\n",
    "modelB.fit(solarB)\n",
    "futureB = modelB.make_future_dataframe(periods=452, freq='30min')\n",
    "forecastB = modelB.predict(futureB)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE:10.194363 MAE:5.948169\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "diff = solarB.merge(forecastB[['ds','yhat']])\n",
    "rmse = np.sqrt(np.mean(np.square(diff.y - diff.yhat)))\n",
    "mae = np.mean(np.abs(diff.y - diff.yhat))\n",
    "print(f\"RMSE:{round(rmse,6)} MAE:{round(mae,6)}\")\n",
    "plt.figure(figsize=(12,5))\n",
    "plt.plot(diff.ds[diff.ds >= '2020-09-28 05:00:00'], diff.y[diff.ds >= '2020-09-28 05:00:00'], '-o', c = 'grey')\n",
    "plt.plot(diff.ds[diff.ds >= '2020-09-28 05:00:00'], diff.yhat[diff.ds >= '2020-09-28 05:00:00'], '-o', c = 'blue')\n",
    "plt.ylabel('Solar Power Generation (kW)');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "forecastB_October = forecastB[(forecastB.ds >= '2020-10-05')]\n",
    "forecastB_October = forecastB_October.set_index('ds')\n",
    "forecastB_October_Optimization = forecastB_October.copy().between_time('05:00:00','19:30:00')\n",
    "forecastB_October_Optimization.iloc[forecastB_October_Optimization.yhat < 0,] = 0\n",
    "\n",
    "# This is the output file we'll use in the optimization model\n",
    "forecastB_October_Optimization.to_csv('pred_solar_values.csv', index = False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Copyright © 2022 Gurobi Optimization, LLC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
